Skip to content

Retire tkinter chat popup; route chat hotkeys/tray to the web Chat tab#22

Merged
agr77one merged 1 commit into
mainfrom
refactor/retire-chat-popup
Jun 16, 2026
Merged

Retire tkinter chat popup; route chat hotkeys/tray to the web Chat tab#22
agr77one merged 1 commit into
mainfrom
refactor/retire-chat-popup

Conversation

@agr77one

Copy link
Copy Markdown
Owner

PR 3 of chat→web. Chat is fully daemon-backed + in the dashboard (PR1+PR2), so the
standalone tkinter popup is removed.

  • Ctrl+Shift+T and tray "Open Chat" → OpenWebDashboard("chat"); Ctrl+Shift+A stages
    the selection (chat_stage_selection) then opens #chat (Chat tab prefills it).
    OpenWebDashboard_Impl gained a tab param (URL hash).
  • Removed: chat_popup.py; LaunchChat_Impl; the 52640 socket +
    chat_send_selection/chat_reload/chat_restart actions + ingest helpers; the
    ffp-chat.exe arm of the AHK bridge/kill-list + chatScriptPath; installer KillChat.
  • Freeze now three exes (dropped ffp-chat from the spec + pyproject).

Deleted obsolete test_chat_popup.py; daemon action-count 59→56. ruff + 188 tests +
node --check + AHK parse-check all green. A workflow_dispatch build verifies the
3-exe freeze after merge.

PR 3 of chat→web. Chat is now fully daemon-backed + served in the dashboard
(PR1+PR2), so the standalone tkinter popup is removed:

- Hotkeys/tray → web: Ctrl+Shift+T (chatHk) and the tray "Open Chat" now open
  the dashboard at #chat via OpenWebDashboard("chat"); Ctrl+Shift+A
  (AskWithSelection) stages the selection (chat_stage_selection) then opens
  #chat, where the Chat tab prefills it. OpenWebDashboard_Impl gained a `tab`
  param that appends the URL hash.
- Removed the popup machinery: deleted scripts/chat_popup.py; dropped LaunchChat_Impl,
  the 52640 socket + chat_send_selection/chat_reload/chat_restart daemon actions
  (+ _chat_launch_argv / ingest-nonce helpers), the ffp-chat.exe arm of the AHK
  bridge + process-kill list + chatScriptPath, and the installer's KillChat
  taskkill. setActiveModel no longer pings the popup (daemon chat reads the model
  live).
- Freeze: dropped ffp-chat from the PyInstaller spec (Analysis/MERGE/PYZ/EXE/
  COLLECT + hiddenimports) and pyproject (py-modules + scripts entry-point) — now
  three exes.

Deleted the obsolete test_chat_popup.py; daemon action-count test 59→56 (asserts
the socket actions are gone). ruff + 188 tests + node --check + AHK parse-check
all green. (installer/README.md still has two cosmetic ffp-chat.exe mentions —
doc-only, follow-up.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@agr77one agr77one merged commit 0766a33 into main Jun 16, 2026
5 checks passed
@agr77one agr77one deleted the refactor/retire-chat-popup branch June 16, 2026 13:51

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e53e90a1f1

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread installer/installer.iss
Comment on lines 174 to 175
Filename: "{sys}\taskkill.exe"; Parameters: "/F /IM ffp-daemon.exe /T"; \
RunOnceId: "KillDaemon"; Flags: runhidden waituntilterminated

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep cleaning up the retired chat process

When uninstalling or upgrading from a build that could still have ffp-chat.exe running, this cleanup now only stops the daemon and AHK, while the new bundle also no longer installs a fresh ffp-chat.exe. An old popup/direct-launched process can therefore keep the obsolete executable locked or leave it behind in {app}; keep the ffp-chat.exe taskkill here for at least the transition, and/or add explicit install/uninstall deletion for the retired binary.

Useful? React with 👍 / 👎.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants